package db_server_mysql

import (
	"PackingScanApp/json_conf_get"
	// "fmt"
	// "strconv"

	"github.com/astaxie/beego/orm"
	_ "github.com/go-sql-driver/mysql"
)

func init() {

	cangQ := json_conf_get.Getconf().CangQu

	Db_user := json_conf_get.Getconf().MysqlDBUser
	Db_pass := json_conf_get.Getconf().MysqlDBPassword
	Db_host := json_conf_get.Getconf().MysqlDBHost
	Db_name := json_conf_get.Getconf().MysqlDBName

	S_Db_user := json_conf_get.Getconf().S_MysqlDBUser
	S_Db_pass := json_conf_get.Getconf().S_MysqlDBPassword
	S_Db_host := json_conf_get.Getconf().S_MysqlDBHost
	S_Db_host_x := json_conf_get.Getconf().S_MysqlDBHost_X
	S_Db_name := json_conf_get.Getconf().S_MysqlDBName

	MaxIdleConns := json_conf_get.Getconf().MaxIdleConns //设置闲置的连接数。
	MaxOpenConns := json_conf_get.Getconf().MaxOpenConns

	if err := orm.RegisterDriver("mysql", orm.DRMySQL); err != nil {
		panic(err) //将程序挂掉
	}
	//最后两个参数为 最大空闲连接数 和 最大打开的连接数 0无限制
	err2 := orm.RegisterDataBase("default", "mysql", Db_user+":"+Db_pass+"@tcp("+Db_host+":3306)/"+Db_name+"?charset=utf8", MaxIdleConns, MaxOpenConns)
	if err2 != nil {
		panic(err2) //将程序挂掉
	}

	if cangQ == 0 { //老厂
		err3 := orm.RegisterDataBase("server", "mysql", S_Db_user+":"+S_Db_pass+"@tcp("+S_Db_host+":3306)/"+S_Db_name+"?charset=utf8", MaxIdleConns, MaxOpenConns)
		if err3 != nil {
			panic(err3) //将程序挂掉
		}
	}
	if cangQ == 1 { //新厂
		err4 := orm.RegisterDataBase("server", "mysql", S_Db_user+":"+S_Db_pass+"@tcp("+S_Db_host_x+":3306)/"+S_Db_name+"?charset=utf8", MaxIdleConns, MaxOpenConns)
		if err4 != nil {
			panic(err4) //将程序挂掉
		}
	}

	//fmt.Println("--MySQL数据库连接初始化，闲置连接数：" + strconv.Itoa(MaxIdleConns) + " ，最大打开连接数：" + strconv.Itoa(MaxOpenConns) + "（0，不限制）--")

	//注册默认数据库 30连接数 /vince?charset=utf8
	//orm.RegisterDataBase("default", "mysql", conn, 30, 30) //注册默认数据库
	//注册实体
	//orm.RegisterModel(new(models.UserInfo))
	//自动同步表结构,自动建表
	//orm.RunSyncdb("default", false, true)
	//设置闲置的连接数。
	//orm.SetMaxIdleConns("default", 1000)
	//设置最大打开的连接数，默认值为0表示不限制。
	//orm.SetMaxOpenConns("default", 2000)
}
